home *** CD-ROM | disk | FTP | other *** search
Wrap
10 'USRUTIL3.BAS - Prints the RBBS-PC user file in lastname, firstname sequence 20 ' Original USRUTIL1.BAS by Jon Martin 25 ' Modified to support CPC12.3A 11/20/84 by Michael L. Brown Version 3.1 (12/11/84) 30 DEFINT A-Z:VER$="3.1":TI$=TIME$ 35 ON ERROR GOTO 800 40 DEF FNFL$(A$)=LEFT$(MID$(A$+" , ",INSTR(A$+" , ",", ")+2),INSTR(MID$(A$+", ",INSTR(A$+", ",", ")+3)+" "," "))+LEFT$(A$+", ",INSTR(A$+", ",", ")-1) 50 DEF FNSS$(A$)=LEFT$(A$+" ",INSTR(A$+" "," ")-1) 60 DEF FNPR$(A$,A%)=LEFT$(A$+SPACE$(A%),A%) 70 DEF FNCO$(A$)=MID$(A$,1,(INSTR(A$," ")-1))+", "+RIGHT$(A$,(LEN(A$)-INSTR(A$," "))) 80 KEY OFF 90 LINE.COUNT=66 100 CLS:DIM BUL$(6),MD(20),SA(12),UA(12),FS(8),LG$(18),HE$(8):TB$=" ":GOSUB 700 110 PRINT:PRINT:INPUT"ARE YOU READY TO PROCEED WITH PRINT USER FILE";Y$ 120 IF LEFT$(Y$,1) = "Y" OR LEFT$(Y$,1) = "y" THEN 140 130 PRINT "PRINT USER FILE RUN ABORTED.":GOTO 520 140 CLS:PRINT "USRUTIL3.BAS Version ";VER$:PRINT:PRINT "PRINT USER FILE RUN STARTED AT ";TIME$ 150 OPEN "R",1,UF1$,128:END.USER=LOF(1)/128 160 OPEN "O",2,"SORT.INP" 170 FIELD 1,31 AS N$,15 AS PW$,2 AS SL$,14 AS OP$,24 AS CS$,19 AS MA$,14 AS TD$,3 AS LND$,2 AS UDL$,2 AS UUL$,2 AS ET$ 180 UDX=1 190 IF UDX > END.USER THEN CLOSE 2:GOTO 300 200 GET 1,UDX 205 IF INSTR(N$,"NEWUSER") THEN 290 206 IF N$=SPACE$(31) THEN UDX=END.USER:GOTO 290 210 IF LEFT$(N$,5)=SPACE$(5) THEN 290 220 NAME.WORK$=FNSS$(N$) 230 NAME.WORK$=FNCO$(NAME.WORK$) 240 NAME.WORK$=FNFL$(NAME.WORK$) 250 NAME.WORK$=FNPR$(NAME.WORK$,31) 260 NUMBER.WORK$=FNPR$(STR$(UDX),5) 270 SORT.WORK$=NAME.WORK$+NUMBER.WORK$ 280 PRINT#2,SORT.WORK$ 290 UDX=UDX+1:GOTO 190 300 'SORT RECORDS 310 PRINT:PRINT"SORT PHASE STARTED AT ";TIME$ 320 DEF SEG:PEEK.HOLD.ONE=PEEK(&H30):PEEK.HOLD.TWO=PEEK(&H31) 330 SHELL.HOLD$="SORT <SORT.INP >SORT.OUT":SHELL SHELL.HOLD$ 340 POKE &H30,PEEK.HOLD.ONE:POKE &H31,PEEK.HOLD.TWO 350 PRINT:PRINT"SORT PHASE ENDED AT ";TIME$ 360 'FIND USERS 370 OPEN "I",2,"SORT.OUT" 380 IF EOF(2) THEN 520 390 INPUT#2,SORT.WORK$ 400 UDX=VAL(RIGHT$(SORT.WORK$,5)) 410 GET 1,UDX 420 IF ASC(N$)=0 THEN 380 ELSE OF=CVI(SL$):A$=RIGHT$(" "+STR$(LOC(1)),4)+":"+LEFT$(SORT.WORK$,31)+"SECURITY"+STR$(OF)+TB$:IF OF<MO THEN A$=A$+" <Locked out>":GOTO 440 430 A$=A$+"Pw="+PW$+"Times on"+STR$(CVI(MID$(OP$,1,2))) 440 GOSUB 560:LPRINT A$ 450 IF SCL$="Y" THEN A$=" (SYSOP) " ELSE A$=" " 460 A$=A$+TD$+" "+CS$+MA$ 470 LPRINT A$ 480 A$=" DOWNLOADS="+STR$(CVI(UDL$)):A$=A$+SPACE$(30-LEN(A$))+"UPLOADS="+STR$(CVI(UUL$)):A$=A$+SPACE$(60-LEN(A$))+"TIME USED="+STR$(CVI(ET$))+" Min." 490 LPRINT A$:LPRINT 500 LINE.COUNT=LINE.COUNT+4 510 GOTO 380 520 'END PROGRAM 530 PRINT:PRINT "PRINT USER FILE RUN ENDED AT ";TIME$ 540 CLOSE:KILL "SORT.INP" 545 KILL "SORT.OUT" 550 LPRINT CHR$(12):END 560 IF LINE.COUNT< 60 THEN RETURN 570 LPRINT CHR$(12) 580 LPRINT DATE$;TAB(30);"RBBS-PC SORTED USER LIST";TAB(73);TI$ 590 LPRINT:LPRINT:LINE.COUNT=3 600 RETURN 700 OPEN "I",3,"RBBS-PC.DEF":INPUT #3,FA$,PB$,PC$,NA$,NB$,CB,AA,AB,TV!,ME,DF,UB$,XPR,BC,BA,PRT,DF,ME$(1),ME$(2),ME$(3),ME$(4),ME$(5),CQ$,DF,OA,UE,PL,DF,WA,DF$ 705 INPUT#3,MES1$,LG$(11),CF$,CG$,UF1$,WB$,LG$(12),DIR$,CP$,OB,SD,DF$,DA,FGR,BG,BDR,RC$,CH$,LG$(13),LG$(14) 710 INPUT#3,HE$(1),HE$(2),HE$(3),HE$(4),HE$(5),HE$(6),HE$(7),HE$(8),LG$(8),LG$(7),DF$,RD,BD,UDR,DF,SHRD,CYC,DF,TOA!,LG$(18):INPUT#3,MO,DB,SE,FB$,SF,KA$,VB,SA(1),SA(2),SA(3),SA(4),SA(5),SA(6),SA(7),SA(8),PD$,MP,DF,UPS,MTERM,DAY 720 INPUT#3,MD(1),MD(2),MD(3),MD(4),MD(5),MD(6),MD(7),MD(8),MD(9),MD(10),MD(11),MD(12),MD(13),MD(14),MD(15),MD(16),MD(17),MD(18),MD(19),MD(20) 725 INPUT#3,FS(1),FS(2),FS(3),FS(4),FS(5),FS(6),FS(7),FS(8),UA(1),UA(2),UA(3),UA(4),UA(5),UA(6),UA(7),UA(8),UA(9),UA(10),UA(11),UA(12),CPQ 730 CLOSE 3:RETURN 800 IF ERL = 540 THEN RESUME 545 810 IF ERL = 545 THEN RESUME 550 820 IF ERL<> 700 THEN CLS:PRINT"ERROR ";ERR;" IN LINE ";ERL:GOTO 840 830 CLS:PRINT"RBBS-PC.DEF FILE NOT FOUND." 840 PRINT"PROGRAM CANNOT CONTINUE":CLOSE:END